package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.SpffVideos;

/**
 * 视频Service接口
 * 
 * @author xjj
 * @date 2025-09-11
 */
public interface ISpffVideosService 
{
    /**
     * 查询视频
     * 
     * @param id 视频主键
     * @return 视频
     */
    public SpffVideos selectSpffVideosById(Long id);

    /**
     * 查询视频列表
     * 
     * @param spffVideos 视频
     * @return 视频集合
     */
    public List<SpffVideos> selectSpffVideosList(SpffVideos spffVideos);

    /**
     * 新增视频
     * 
     * @param spffVideos 视频
     * @return 结果
     */
    public int insertSpffVideos(SpffVideos spffVideos);

    /**
     * 修改视频
     * 
     * @param spffVideos 视频
     * @return 结果
     */
    public int updateSpffVideos(SpffVideos spffVideos);

    /**
     * 批量删除视频
     * 
     * @param ids 需要删除的视频主键集合
     * @return 结果
     */
    public int deleteSpffVideosByIds(Long[] ids);

    /**
     * 删除视频信息
     * 
     * @param id 视频主键
     * @return 结果
     */
    public int deleteSpffVideosById(Long id);

    /**
     * 点赞或取消点赞视频
     * 
     * @param videoId 视频ID
     * @param userId 用户ID
     * @return 操作结果：1-点赞成功，0-取消点赞成功
     */
    public int toggleLike(Long videoId, Long userId);

    /**
     * 检查用户是否已点赞视频
     * 
     * @param videoId 视频ID
     * @param userId 用户ID
     * @return true-已点赞，false-未点赞
     */
    public boolean isUserLiked(Long videoId, Long userId);

    /**
     * 收藏或取消收藏视频
     * 
     * @param videoId 视频ID
     * @param userId 用户ID
     * @return 操作结果：1-收藏成功，0-取消收藏成功
     */
    public int toggleCollect(Long videoId, Long userId);

    /**
     * 检查用户是否已收藏视频
     * 
     * @param videoId 视频ID
     * @param userId 用户ID
     * @return true-已收藏，false-未收藏
     */
    public boolean isUserCollected(Long videoId, Long userId);
}
